Simulation 1

Case 1: \(n > p\) - adaptive greedy

simu1_part1_ada <- run_simulation(nb_simu = 500, true_beta = c(1, rep(0,58), 1),
                              n = 80, n_star = 800, sigma = 1, cor_X = 0.5,
                              xlim = c(1.035, 1.095), ylim = c(0.02, 0.1),
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]),
                              title = "Simulation 1: n > p",
                              adaptive = TRUE)

kable(simu1_part1_ada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 3.924397 0.0520607 4.7643774 0.0788026 0.0 100.0 2.000 58.000 60.000
AIC 1.581485 0.0258145 0.7567005 0.0502997 5.4 99.0 1.990 10.520 12.510
BIC 1.080430 0.0060340 0.0782325 0.0091298 49.4 98.8 1.988 1.164 3.152
HQ 1.216138 0.0196712 0.2371755 0.0217632 21.2 98.8 1.988 3.976 5.964
lasso 1.129553 0.0054523 0.1352864 0.0038669 3.4 100.0 2.000 8.324 10.324
PDC 1.057575 0.0034222 0.0429433 0.0053703 59.8 98.0 1.978 0.520 2.498
enet 1.166245 0.0074518 0.1749347 0.0061593 2.0 100.0 2.000 11.168 13.168
alasso 1.045711 0.0037980 0.0354535 0.0025080 67.8 100.0 2.000 0.936 2.936
MCP 1.072988 0.0051792 0.0298685 0.0021546 56.4 100.0 2.000 1.350 3.350
SCAD 1.078244 0.0041694 0.0327290 0.0022017 25.0 100.0 2.000 2.904 4.904

Case 2: \(n > p\) - non-adaptive greedy

simu1_part1_non_ada <- run_simulation(nb_simu = 500, true_beta = c(1, rep(0,58), 1),
                              n = 80, n_star = 800, sigma = 1, cor_X = 0.5,
                              xlim = c(1.035, 1.095), ylim = c(0.02, 0.1),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 1: n > p",
                              adaptive = FALSE) 

kable(simu1_part1_non_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 3.924397 0.0520607 4.7643774 0.0788026 0.0 100 2 58.000 60.000
AIC 1.514825 0.0232021 0.6381180 0.0309768 1.0 100 2 9.250 11.250
BIC 1.134133 0.0093528 0.1333654 0.0083030 27.0 100 2 1.742 3.742
HQ 1.292105 0.0114149 0.3335967 0.0174288 7.8 100 2 4.584 6.584
lasso 1.129553 0.0054523 0.1352864 0.0038669 3.4 100 2 8.324 10.324
PDC 1.066817 0.0045007 0.0557219 0.0073714 56.2 100 2 0.588 2.588
enet 1.166245 0.0074518 0.1749347 0.0061593 2.0 100 2 11.168 13.168
alasso 1.045711 0.0037980 0.0354535 0.0025080 67.8 100 2 0.936 2.936
MCP 1.072988 0.0051792 0.0298685 0.0021546 56.4 100 2 1.350 3.350
SCAD 1.078244 0.0041694 0.0327290 0.0022017 25.0 100 2 2.904 4.904

Case 3: \(n < p\) - adaptive greedy

simu1_part2_ada <- run_simulation(nb_simu = 500, true_beta = c(1, rep(0, 58), 1, rep(0, 100)),
                              n = 80, n_star = 800, sigma = 1, cor_X = 0.5,
                              xlim = c(1.045,1.22), ylim = c(0.03,0.23),
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]),
                              title = "Simulation 1: n < p",
                              adaptive = TRUE)

kable(simu1_part2_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 1.785228 0.0123505 0.9016844 0.0170075 0.0 100 2 31.000 33.000
AIC 1.452693 0.0131253 0.4715656 0.0142591 1.0 100 2 6.342 8.342
BIC 1.198411 0.0085915 0.1957703 0.0106081 22.2 100 2 2.104 4.104
HQ 1.323303 0.0130418 0.3553142 0.0136168 4.4 100 2 4.172 6.172
lasso 1.175958 0.0078497 0.1829157 0.0052767 1.6 100 2 11.778 13.778
PDC 1.090815 0.0062457 0.0916089 0.0065994 47.6 100 2 0.798 2.798
enet 1.218933 0.0072229 0.2385542 0.0097881 0.6 100 2 16.204 18.204
alasso 1.056450 0.0043868 0.0409949 0.0030151 63.6 100 2 1.106 3.106
MCP 1.081824 0.0034671 0.0394910 0.0035240 46.6 100 2 1.970 3.970
SCAD 1.090216 0.0045551 0.0492014 0.0029099 12.4 100 2 5.564 7.564

Case 4: \(n < p\) - non-adaptive greedy

simu1_part2_non_ada <- run_simulation(nb_simu = 500, true_beta = c(1, rep(0, 58), 1, rep(0, 100)),
                              n = 80, n_star = 800, sigma = 1, cor_X = 0.5,
                              xlim = c(1.045,1.22), ylim = c(0.03,0.23),
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]),
                              title = "Simulation 1: n < p",
                              adaptive = FALSE)

kable(simu1_part2_non_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 1.785228 0.0123505 0.9016844 0.0170075 0.0 100 2 31.000 33.000
AIC 1.385566 0.0122123 0.4218037 0.0112756 0.0 100 2 6.050 8.050
BIC 1.198981 0.0065862 0.1960937 0.0092454 14.8 100 2 2.128 4.128
HQ 1.299758 0.0092714 0.3113019 0.0125721 2.8 100 2 4.030 6.030
lasso 1.175958 0.0078497 0.1829157 0.0052767 1.6 100 2 11.778 13.778
PDC 1.098539 0.0062526 0.1015345 0.0057471 42.0 100 2 0.890 2.890
enet 1.218933 0.0072229 0.2385542 0.0097881 0.6 100 2 16.204 18.204
alasso 1.056450 0.0043868 0.0409949 0.0030151 63.6 100 2 1.106 3.106
MCP 1.081824 0.0034671 0.0394910 0.0035240 46.6 100 2 1.970 3.970
SCAD 1.090216 0.0045551 0.0492014 0.0029099 12.4 100 2 5.564 7.564

Simulation 2

Case 1: \(n > p\) - adaptive greedy

simu2_part1_ada <- run_simulation(nb_simu = 500, true_beta = rep(c(0.3, 0), 5),
                              n = 100, n_star = 1000, sigma = 1, cor_X = 0.75,
                              xlim = c(1.065,1.17), ylim = c(0.18,0.46),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 2: n > p",
                              adaptive = TRUE)

kable(simu2_part1_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 1.107841 0.0035288 0.3329839 0.0121383 0.0 100.0 5.000 5.000 10.000
AIC 1.124838 0.0038600 0.3514957 0.0147284 3.8 7.8 3.134 0.856 3.990
BIC 1.155585 0.0044200 0.4046674 0.0210016 0.4 0.6 2.586 0.532 3.118
HQ 1.136904 0.0042594 0.3599505 0.0132298 1.4 1.8 2.868 0.658 3.526
lasso 1.078078 0.0037695 0.2066077 0.0078130 2.6 63.0 4.556 2.680 7.236
PDC 1.144741 0.0047182 0.3735564 0.0156125 0.4 0.6 2.692 0.568 3.260
enet 1.075393 0.0030004 0.1956800 0.0080185 0.8 71.8 4.680 3.054 7.734
alasso 1.091444 0.0040757 0.2487335 0.0112976 5.8 37.0 4.038 1.794 5.832
MCP 1.138029 0.0032298 0.3635244 0.0172100 5.2 34.8 3.772 2.018 5.790
SCAD 1.136440 0.0039713 0.3589930 0.0131578 5.8 37.4 3.902 2.174 6.076

Case 2: \(n > p\) - non-adaptive greedy

simu2_part1_nonada <- run_simulation(nb_simu = 500, true_beta = rep(c(0.3, 0), 5),
                              n = 100, n_star = 1000, sigma = 1, cor_X = 0.75,
                              xlim = c(1.065,1.17), ylim = c(0.18,0.46),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]),
                              title = "Simulation 2: n > p", 
                              adaptive = FALSE)

kable(simu2_part1_nonada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 1.107841 0.0035288 0.3329839 0.0121383 0.0 100.0 5.000 5.000 10.000
AIC 1.125236 0.0036476 0.3624555 0.0115668 2.2 6.4 3.006 1.082 4.088
BIC 1.159894 0.0035174 0.4539168 0.0173506 0.4 0.6 2.374 0.758 3.132
HQ 1.135682 0.0043017 0.3898845 0.0158302 2.0 2.8 2.708 0.870 3.578
lasso 1.078078 0.0037695 0.2066077 0.0078130 2.6 63.0 4.556 2.680 7.236
PDC 1.144557 0.0041778 0.4204443 0.0186504 1.4 1.6 2.502 0.824 3.326
enet 1.075393 0.0030004 0.1956800 0.0080185 0.8 71.8 4.680 3.054 7.734
alasso 1.091444 0.0040757 0.2487335 0.0112976 5.8 37.0 4.038 1.794 5.832
MCP 1.138029 0.0032298 0.3635244 0.0172100 5.2 34.8 3.772 2.018 5.790
SCAD 1.136440 0.0039713 0.3589930 0.0131578 5.8 37.4 3.902 2.174 6.076

Case 3: \(n < p\) - adaptive

simu2_part2_ada <- run_simulation(nb_simu = 500, 
                                     true_beta = c(rep(c(0.3, 0), 5), rep(0, 100)),
                              n = 100, n_star = 1000, sigma = 1, cor_X = 0.75,
                              xlim = c(1.14,1.37), ylim = c(0.21,0.74),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]),
                              title = "Simulation 2: n < p", 
                              adaptive = TRUE)

kable(simu2_part2_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 1.650416 0.0101951 1.5687304 0.0341128 0.0 99.8 4.998 34.002 39.000
AIC 1.403845 0.0100389 0.7874925 0.0253773 0.0 3.8 2.838 6.016 8.854
BIC 1.291410 0.0060477 0.6117670 0.0113472 0.0 0.2 2.316 2.230 4.546
HQ 1.340386 0.0084212 0.6765585 0.0174947 0.0 1.6 2.626 4.040 6.666
lasso 1.165019 0.0055075 0.2577517 0.0078091 0.6 43.4 4.240 9.760 14.000
PDC 1.271483 0.0053393 0.5808807 0.0150697 0.0 0.0 1.974 1.098 3.072
enet 1.160756 0.0045681 0.2413781 0.0049370 0.2 60.2 4.514 13.892 18.406
alasso 1.183282 0.0060611 0.3603656 0.0137988 1.0 10.4 3.064 2.436 5.500
MCP 1.283560 0.0057373 0.5832792 0.0159249 0.2 0.8 2.174 3.558 5.732
SCAD 1.269043 0.0063063 0.4602072 0.0091509 0.8 10.0 3.040 5.790 8.830

Case 4: \(n < p\) - non-adaptive

simu2_part2_non_ada <- run_simulation(nb_simu = 500, 
                                     true_beta = c(rep(c(0.3, 0), 5), rep(0, 100)),
                              n = 100, n_star = 1000, sigma = 1, cor_X = 0.75,
                              xlim = c(1.14,1.37), ylim = c(0.21,0.74),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]),
                              title = "Simulation 2: n < p", 
                              adaptive = FALSE)

kable(simu2_part2_non_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 1.650416 0.0101951 1.5687304 0.0341128 0.0 99.8 4.998 34.002 39.000
AIC 1.356395 0.0088333 0.6652823 0.0183908 0.0 3.6 2.746 5.622 8.368
BIC 1.278110 0.0077329 0.6015461 0.0102443 0.2 0.4 2.180 2.184 4.364
HQ 1.319665 0.0089797 0.6172520 0.0133371 0.2 2.0 2.488 3.792 6.280
lasso 1.165019 0.0055075 0.2577517 0.0078091 0.6 43.4 4.240 9.760 14.000
PDC 1.265392 0.0077299 0.5991625 0.0114898 0.2 0.2 1.864 1.192 3.056
enet 1.160756 0.0045681 0.2413781 0.0049370 0.2 60.2 4.514 13.892 18.406
alasso 1.183282 0.0060611 0.3603656 0.0137988 1.0 10.4 3.064 2.436 5.500
MCP 1.283560 0.0057373 0.5832792 0.0159249 0.2 0.8 2.174 3.558 5.732
SCAD 1.269043 0.0063063 0.4602072 0.0091509 0.8 10.0 3.040 5.790 8.830

Simulation 3

Case 1: \(n > p\) - adaptive greedy

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2))
simu3_part1_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(4.73,5.4), ylim = c(0.79,1.8),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 3: n > p",
                              adaptive = TRUE)

kable(simu3_part1_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 7.828768 0.0539561 6.3269382 0.1089886 0 100.0 14.000 36.000 50.000
AIC 5.602199 0.0407343 2.3001445 0.1069784 0 0.0 8.946 4.972 13.918
BIC 4.984983 0.0364475 1.1753320 0.0678564 0 0.0 8.086 1.230 9.316
HQ 5.217643 0.0629048 1.5831001 0.0692687 0 0.0 8.502 2.742 11.244
lasso 5.067051 0.0277870 1.2319757 0.0320709 0 0.2 10.146 9.974 20.120
PDC 5.048466 0.0509589 1.3548679 0.0735508 0 0.0 7.392 0.360 7.752
enet 5.126117 0.0249846 1.3744623 0.0363623 0 1.8 10.474 12.024 22.498
alasso 4.803297 0.0314939 0.9325193 0.0448793 0 0.0 8.678 2.524 11.202
MCP 5.233635 0.0527333 1.0135877 0.0516727 0 0.0 8.730 2.936 11.666
SCAD 5.201045 0.0463538 1.0172687 0.0584409 0 0.0 9.450 5.480 14.930

Case 2: \(n > p\) - non-adaptive greedy

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2))
simu3_part1_nonada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(4.73,5.4), ylim = c(0.79,1.8),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 3: n > p",
                              adaptive = FALSE)

kable(simu3_part1_nonada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 7.828768 0.0539561 6.3269382 0.1089886 0 100.0 14.000 36.000 50.000
AIC 5.471716 0.0418450 1.8685351 0.0647247 0 0.0 9.028 4.572 13.600
BIC 4.913370 0.0289821 1.0343625 0.0446144 0 0.0 8.198 1.196 9.394
HQ 5.133586 0.0497034 1.4275142 0.0659176 0 0.0 8.612 2.578 11.190
lasso 5.067051 0.0277870 1.2319757 0.0320709 0 0.2 10.146 9.974 20.120
PDC 4.996859 0.0439417 1.2350775 0.0902718 0 0.0 7.558 0.526 8.084
enet 5.126117 0.0249846 1.3744623 0.0363623 0 1.8 10.474 12.024 22.498
alasso 4.803297 0.0314939 0.9325193 0.0448793 0 0.0 8.678 2.524 11.202
MCP 5.233635 0.0527333 1.0135877 0.0516727 0 0.0 8.730 2.936 11.666
SCAD 5.201045 0.0463538 1.0172687 0.0584409 0 0.0 9.450 5.480 14.930

Case 3: \(n < p\) - adaptive

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2),
          rep(0,100))
simu3_part2_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(4.85,5.9), ylim = c(1,2),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 3: n < p",
                              adaptive = TRUE)

kable(simu3_part2_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 6.981891 0.0610234 3.765791 0.0692500 0 0.4 9.138 29.862 39.000
AIC 5.638632 0.0468071 1.915825 0.0537250 0 0.0 8.098 4.624 12.722
BIC 5.058629 0.0493449 1.212897 0.0534257 0 0.0 7.786 1.370 9.156
HQ 5.326638 0.0583424 1.570145 0.0536998 0 0.0 7.954 2.734 10.688
lasso 5.635840 0.0346758 1.665008 0.0314404 0 0.0 9.334 18.934 28.268
PDC 5.061261 0.0674485 1.361253 0.1021703 0 0.0 7.264 0.564 7.828
enet 5.792712 0.0358061 1.841099 0.0443238 0 0.2 9.516 23.152 32.668
alasso 4.994438 0.0309109 1.134744 0.0420539 0 0.0 8.194 3.126 11.320
MCP 5.637378 0.0572940 1.459303 0.0736045 0 0.0 8.114 4.784 12.898
SCAD 5.592650 0.0564631 1.518394 0.0695838 0 0.0 8.888 11.420 20.308

Case 4: \(n < p\) - non-adaptive

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2),
          rep(0,100))
simu3_part2_non_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(4.85,5.9), ylim = c(1,2),
                              xlab = expression(PE[y]),
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 3: n < p",
                              adaptive = FALSE)

kable(simu3_part2_non_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 6.981891 0.0610234 3.765791 0.0692500 0 0.4 9.138 29.862 39.000
AIC 5.562745 0.0408023 1.821001 0.0558496 0 0.0 8.140 4.546 12.686
BIC 5.107543 0.0450648 1.264909 0.0722063 0 0.0 7.760 1.532 9.292
HQ 5.348961 0.0416001 1.540760 0.0444740 0 0.0 7.980 2.838 10.818
lasso 5.635840 0.0346758 1.665008 0.0314404 0 0.0 9.334 18.934 28.268
PDC 5.136446 0.0495950 1.457847 0.1109942 0 0.0 7.258 0.668 7.926
enet 5.792712 0.0358061 1.841099 0.0443238 0 0.2 9.516 23.152 32.668
alasso 4.994438 0.0309109 1.134744 0.0420539 0 0.0 8.194 3.126 11.320
MCP 5.637378 0.0572940 1.459303 0.0736045 0 0.0 8.114 4.784 12.898
SCAD 5.592650 0.0564631 1.518394 0.0695838 0 0.0 8.888 11.420 20.308

Simulation 4

Case 1: \(n > p\) - adaptive greedy

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2))
simu4_part1_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(0.73,100.4), ylim = c(0.0079,20.8),   
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 4: n > p",
                              adaptive = TRUE, omitted_variables = 1)

kable(simu4_part1_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 13.502791 0.1501429 10.707603 0.1837823 0 0 49.000 0 49.000
AIC 10.171847 0.0852397 4.680953 0.1966095 0 0 13.262 0 13.262
BIC 9.288934 0.0568300 3.237664 0.1084220 0 0 8.066 0 8.066
HQ 9.509905 0.0842522 3.468800 0.1150142 0 0 10.158 0 10.158
lasso 8.678201 0.0460419 2.015333 0.0621440 0 0 19.092 0 19.092
PDC 9.696391 0.0804393 3.886826 0.1249451 0 0 6.090 0 6.090
enet 8.814902 0.0393679 2.197442 0.0566599 0 0 21.730 0 21.730
alasso 8.614828 0.0564466 2.151635 0.0899776 0 0 10.972 0 10.972
MCP 9.477908 0.0819999 3.036092 0.0992974 0 0 11.008 0 11.008
SCAD 9.378062 0.0614218 2.977569 0.0896044 0 0 14.468 0 14.468

Case 2: \(n > p\) - nonadaptive greedy

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2))
simu4_part1_nonada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(0.73,100.4), ylim = c(0.0079,20.8),   
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 4: n > p",
                              adaptive = FALSE, omitted_variables = 1)

kable(simu4_part1_nonada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 13.502791 0.1501429 10.707603 0.1837823 0 0 49.000 0 49.000
AIC 9.793129 0.0768132 3.784237 0.1184813 0 0 12.892 0 12.892
BIC 9.241664 0.0697646 3.055688 0.0801707 0 0 8.176 0 8.176
HQ 9.456914 0.0992046 3.329390 0.0972033 0 0 10.380 0 10.380
lasso 8.678201 0.0460419 2.015333 0.0621440 0 0 19.092 0 19.092
PDC 9.651446 0.0670652 3.882546 0.0998996 0 0 6.306 0 6.306
enet 8.814902 0.0393679 2.197442 0.0566599 0 0 21.730 0 21.730
alasso 8.614828 0.0564466 2.151635 0.0899776 0 0 10.972 0 10.972
MCP 9.477908 0.0819999 3.036092 0.0992974 0 0 11.008 0 11.008
SCAD 9.378062 0.0614218 2.977569 0.0896044 0 0 14.468 0 14.468

Case 3: \(n < p\) - adaptive greedy

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2), rep(0, 100))
simu4_part2_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(0.73,100.4), ylim = c(0.0079,20.8),   
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 4: n < p",
                              adaptive = TRUE, omitted_variables = 1)

kable(simu4_part2_ada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 11.993168 0.0918683 6.166943 0.0984212 0 0 39.000 0 39.000
AIC 10.267386 0.0995894 3.877167 0.1223970 0 0 12.792 0 12.792
BIC 9.653047 0.0716499 3.379400 0.0926498 0 0 8.548 0 8.548
HQ 9.807477 0.0833390 3.467016 0.0991983 0 0 10.586 0 10.586
lasso 9.581549 0.0545424 2.682683 0.0620017 0 0 26.404 0 26.404
PDC 9.871702 0.0776319 3.934555 0.0797900 0 0 6.214 0 6.214
enet 9.754135 0.0581014 2.806577 0.0570407 0 0 31.418 0 31.418
alasso 9.075474 0.0560001 2.579230 0.0734337 0 0 10.940 0 10.940
MCP 10.184737 0.0721937 4.065031 0.1145714 0 0 11.216 0 11.216
SCAD 10.142393 0.0667124 3.857304 0.0715728 0 0 18.320 0 18.320

Case 4: \(n < p\) - nonadaptive greedy

beta <- c(rep(c(2,0,1),2),rep(0,16),rep(0.1,6),rep(0,16),rep(c(2,0,1),2), rep(0, 100))
simu4_part2_nonada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 2, cor_X = 0.5,
                              xlim = c(0.73,100.4), ylim = c(0.0079,20.8),   
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 4: n < p",
                              adaptive = FALSE, omitted_variables = 1)

kable(simu4_part2_nonada) 
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 11.993168 0.0918683 6.166943 0.0984212 0 0 39.000 0 39.000
AIC 10.147548 0.0615976 3.783625 0.0653097 0 0 12.626 0 12.626
BIC 9.672819 0.0627906 3.512746 0.1176478 0 0 8.550 0 8.550
HQ 9.829220 0.0576269 3.497726 0.1063502 0 0 10.550 0 10.550
lasso 9.581549 0.0545424 2.682683 0.0620017 0 0 26.404 0 26.404
PDC 9.951037 0.0692510 4.057780 0.1249516 0 0 6.380 0 6.380
enet 9.754135 0.0581014 2.806577 0.0570407 0 0 31.418 0 31.418
alasso 9.075474 0.0560001 2.579230 0.0734337 0 0 10.940 0 10.940
MCP 10.184737 0.0721937 4.065031 0.1145714 0 0 11.216 0 11.216
SCAD 10.142393 0.0667124 3.857304 0.0715728 0 0 18.320 0 18.320

Simulation 5

Case 1: \(n > p\) - adaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,20))
simu5_part1_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlim = c(19.3,20.2), ylim = c(1.6,2.75), 
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 5: n > p",
                              adaptive = TRUE, omitted_variables = 1)

kable(simu5_part1_ada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 35.21969 0.3187061 19.611517 0.3362240 0 0 50.000 0 50.000
AIC 23.81532 0.2259463 6.564957 0.2060844 0 0 8.434 0 8.434
BIC 19.94307 0.0804733 2.505281 0.1080523 0 0 2.748 0 2.748
HQ 21.53516 0.1586480 4.101247 0.1566812 0 0 4.952 0 4.952
lasso 19.67917 0.0716364 2.307344 0.0708563 0 0 8.512 0 8.512
PDC 19.57266 0.0811335 1.807336 0.0602241 0 0 1.878 0 1.878
enet 19.85348 0.0655296 2.461787 0.0721343 0 0 11.622 0 11.622
alasso 19.63743 0.0829160 2.005477 0.0491488 0 0 2.940 0 2.940
MCP 19.82289 0.0748150 1.979799 0.0488847 0 0 4.310 0 4.310
SCAD 19.80302 0.1020472 2.085949 0.0606429 0 0 6.824 0 6.824

Case 2: \(n > p\) - nonadaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,20))
simu5_part1_nonada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlim = c(19.3,20.2), ylim = c(1.6,2.75), 
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 5: n > p",
                              adaptive = FALSE, omitted_variables = 1)

kable(simu5_part1_nonada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 35.21969 0.3187061 19.611517 0.3362240 0 0 50.000 0 50.000
AIC 23.20874 0.2026071 5.898750 0.2338397 0 0 8.110 0 8.110
BIC 19.95860 0.0791702 2.551035 0.0919496 0 0 2.908 0 2.908
HQ 21.28517 0.1197085 4.073351 0.1319092 0 0 4.990 0 4.990
lasso 19.67917 0.0716364 2.307344 0.0708563 0 0 8.512 0 8.512
PDC 19.56326 0.0909917 1.778441 0.0453945 0 0 1.916 0 1.916
enet 19.85348 0.0655296 2.461787 0.0721343 0 0 11.622 0 11.622
alasso 19.63743 0.0829160 2.005477 0.0491488 0 0 2.940 0 2.940
MCP 19.82289 0.0748150 1.979799 0.0488847 0 0 4.310 0 4.310
SCAD 19.80302 0.1020472 2.085949 0.0606429 0 0 6.824 0 6.824

Case 3: \(n < p\) - adaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,120))
simu5_part2_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlim = c(19.3,22), ylim = c(2,3.5),
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 5: n < p",
                              adaptive = TRUE, omitted_variables = 1)

kable(simu5_part2_ada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 29.60585 0.2358299 12.311953 0.1829561 0 0 39.000 0 39.000
AIC 28.39794 0.1778518 11.129597 0.1605614 0 0 13.998 0 13.998
BIC 24.27648 0.2847263 6.810123 0.2441391 0 0 6.094 0 6.094
HQ 27.26201 0.1816258 10.122818 0.1832957 0 0 10.514 0 10.514
lasso 20.17443 0.1012597 2.725528 0.0690565 0 0 11.882 0 11.882
PDC 20.43240 0.0999867 2.992834 0.1206886 0 0 2.208 0 2.208
enet 20.41452 0.0936276 2.961706 0.0704891 0 0 17.166 0 17.166
alasso 19.87138 0.1050836 2.211785 0.0854961 0 0 2.844 0 2.844
MCP 19.99677 0.0954209 2.200610 0.0613539 0 0 4.478 0 4.478
SCAD 20.18132 0.0859469 2.539315 0.0528157 0 0 9.028 0 9.028

Case 4: \(n < p\) - nonadaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,120))
simu5_part2_nonada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlim = c(19.3,22), ylim = c(2,3.5),
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 5: n < p",
                              adaptive = FALSE, omitted_variables = 1)

kable(simu5_part2_nonada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 29.60585 0.2358299 12.311953 0.1829561 0 0 39.000 0 39.000
AIC 27.33470 0.1732158 10.041626 0.1523226 0 0 13.372 0 13.372
BIC 23.35517 0.2004715 5.756583 0.2621362 0 0 5.708 0 5.708
HQ 25.95172 0.1607828 8.642288 0.1559651 0 0 9.788 0 9.788
lasso 20.17443 0.1012597 2.725528 0.0690565 0 0 11.882 0 11.882
PDC 20.28612 0.0818379 2.731973 0.1146394 0 0 2.362 0 2.362
enet 20.41452 0.0936276 2.961706 0.0704891 0 0 17.166 0 17.166
alasso 19.87138 0.1050836 2.211785 0.0854961 0 0 2.844 0 2.844
MCP 19.99677 0.0954209 2.200610 0.0613539 0 0 4.478 0 4.478
SCAD 20.18132 0.0859469 2.539315 0.0528157 0 0 9.028 0 9.028

Simulation 6

Case 1: \(n > p\) - adaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,20))
simu6_part1_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 6: n > p",
                              adaptive = TRUE)

kable(simu6_part1_ada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 18.164562 0.1888375 10.4573591 0.1817820 0 100.0 6.000 45.000 51.000
AIC 12.128975 0.1194250 3.2084795 0.1279782 0 0.6 3.222 5.876 9.098
BIC 10.185307 0.0635619 1.1082839 0.0371106 0 0.0 2.804 1.084 3.888
HQ 10.865372 0.0800132 1.9031863 0.1085088 0 0.2 2.976 2.820 5.796
lasso 10.335688 0.0426948 1.3245968 0.0322219 0 1.6 3.446 7.608 11.054
PDC 9.967106 0.0555835 1.0096835 0.0413893 0 0.0 2.668 0.506 3.174
enet 10.550470 0.0426769 1.5172023 0.0412639 0 3.0 3.618 10.290 13.908
alasso 9.928824 0.0503249 0.9591637 0.0485525 0 0.2 2.798 1.298 4.096
MCP 10.071255 0.0448669 0.7723096 0.0387571 0 0.0 2.944 1.968 4.912
SCAD 10.073702 0.0494998 0.7556559 0.0294226 0 0.0 3.156 4.350 7.506

Case 2: \(n > p\) - nonadaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,20))
simu6_part1_nonada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 6: n > p",
                              adaptive = FALSE)

kable(simu6_part1_nonada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 18.164562 0.1888375 10.4573591 0.1817820 0 100.0 6.000 45.000 51.000
AIC 11.983331 0.1228147 3.0357047 0.0768831 0 0.2 3.276 5.748 9.024
BIC 10.186848 0.0754578 1.1317777 0.0417861 0 0.0 2.882 1.180 4.062
HQ 10.968588 0.0926223 1.9411459 0.0960494 0 0.0 3.062 2.834 5.896
lasso 10.335688 0.0426948 1.3245968 0.0322219 0 1.6 3.446 7.608 11.054
PDC 9.856713 0.0555075 0.7599161 0.0909081 0 0.0 2.722 0.394 3.116
enet 10.550470 0.0426769 1.5172023 0.0412639 0 3.0 3.618 10.290 13.908
alasso 9.928824 0.0503249 0.9591637 0.0485525 0 0.2 2.798 1.298 4.096
MCP 10.071255 0.0448669 0.7723096 0.0387571 0 0.0 2.944 1.968 4.912
SCAD 10.073702 0.0494998 0.7556559 0.0294226 0 0.0 3.156 4.350 7.506

Case 3: \(n < p\) - adaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,120))
simu6_part2_ada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 6: n < p",
                              adaptive = TRUE)

kable(simu6_part2_ada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 15.75937 0.0977847 6.924629 0.1181671 0 0.2 3.518 35.482 39.000
AIC 13.41529 0.1168050 4.560226 0.1222878 0 0.0 2.920 8.308 11.228
BIC 11.08738 0.1000759 2.087393 0.0904802 0 0.0 2.714 2.534 5.248
HQ 12.42498 0.1029060 3.394891 0.1293898 0 0.0 2.838 5.378 8.216
lasso 10.84788 0.0486911 1.797697 0.0535625 0 0.0 3.124 12.774 15.898
PDC 10.23524 0.0701200 1.187085 0.0278475 0 0.0 2.552 0.776 3.328
enet 11.05887 0.0551945 2.096985 0.0708282 0 0.0 3.222 16.416 19.638
alasso 10.05894 0.0606301 1.125238 0.0255999 0 0.0 2.576 1.500 4.076
MCP 10.20083 0.0464832 1.027896 0.0294854 0 0.0 2.754 3.040 5.794
SCAD 10.25321 0.0529682 1.030886 0.0228934 0 0.0 2.984 7.648 10.632

Case 4: \(n < p\) - nonadaptive greedy

beta <- c(3,rep(0,5),1,rep(0,10),rep(0.05,3),rep(0,10),2,rep(0,120))
simu6_part2_nonada <- run_simulation(nb_simu = 500, true_beta = beta,
                              n = 100, n_star = 1000, sigma = 3, cor_X = 0.25,
                              xlab = expression(PE[y]), 
                              ylab = expression(MSE[beta]), 
                              title = "Simulation 6: n < p",
                              adaptive = FALSE)

kable(simu6_part2_nonada)  
Median MSEy SD Med MSEy Median MSEb SD Med MSEb correct included true+ false+ # sel.
LS 15.75937 0.0977847 6.924629 0.1181671 0 0.2 3.518 35.482 39.000
AIC 12.99853 0.1354686 3.972303 0.1060509 0 0.0 2.930 7.844 10.774
BIC 11.04486 0.0795333 2.013169 0.0826483 0 0.0 2.736 2.500 5.236
HQ 12.14950 0.1096684 3.169140 0.1036183 0 0.0 2.842 5.024 7.866
lasso 10.84788 0.0486911 1.797697 0.0535625 0 0.0 3.124 12.774 15.898
PDC 10.26517 0.0819376 1.225533 0.0295604 0 0.0 2.602 0.882 3.484
enet 11.05887 0.0551945 2.096985 0.0708282 0 0.0 3.222 16.416 19.638
alasso 10.05894 0.0606301 1.125238 0.0255999 0 0.0 2.576 1.500 4.076
MCP 10.20083 0.0464832 1.027896 0.0294854 0 0.0 2.754 3.040 5.794
SCAD 10.25321 0.0529682 1.030886 0.0228934 0 0.0 2.984 7.648 10.632